# Python读写文件模式
# 1、r 打开只读文件，该文件必须存在。
# 2、r+ 打开可读写的文件，该文件必须存在。
# 3、w 打开只写文件，若文件存在则文件长度清为0，即该文件内容会消失。若文件不存在则建立该文件。
# 4、w+ 打开可读写文件，若文件存在则文件长度清为零，即该文件内容会消失。若文件不存在则建立该文件。
# 5、a 以附加的方式打开只写文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾，即文件原先的内容会被保留。
# 6、a+ 以附加方式打开可读写的文件。若文件不存在，则会建立该文件，如果文件存在，写入的数据会被加到文件尾后，即文件原先的内容会被保留。

# 读文件 r
    #只能读
    # 文件不存在,读不了,报错
    # 不能写
# f = open('a.txt','r',encoding='utf-8')
# result1 = f.read()# 读所有东西,返回字符串
# print(result1)

# f = open('a.txt','r',encoding='utf-8')
# result2 = f.readlines()#读所有东西,返回列表
# print(result2)

# f = open('a.txt','r',encoding='utf-8')
# result3 = f.readline()#只读一行
# print(result3)
# print(f.readline())#再读一行

#写文件 w
    # 文件不存在创建一个新文件
    # 不能读
    # write写了之后会覆盖之前写的内容
# f = open('a.txt','w',encoding='utf-8')
# f.write('再见')#只能写字符串
# f.close()

# f = open('a.txt','w',encoding='utf-8')
# addr = ['大理\n','丽江']#可换行输写入文件
# # addr_new = '\n'.join(addr)#可换行输写入文件
# f.writelines(addr)#有循环功能,可以写入list,只能写字符串
# # f.write(addr_new)
# f.close()
#
# f.seek(0)#移动文件指针到开始位置,如果用a+,写入还是从最后面写

#在文件最前面添加
# f = open('a.txt','a+',encoding='utf-8')
# f.write('\n香格里拉')#在文件末尾写入'香格里拉'
# f.seek(0)#文件指针一道最前面
# result = f.read()#读出所有内容
# new_result = '龙龙\n'+result#把'龙龙'拼接在文件最前面,此时字符串名为new_result
# f.close()
# f2 = open('a.txt','w',encoding='utf-8')#再次打开并清空文件a.txt
# read_new_result = f2.write(new_result)#读在开头写入'龙龙'后的文件,new_result结果
# f.close()

f = open('a.txt','a+',encoding='utf-8')
f.write('\n香格里拉')#在文件末尾写入'香格里拉'
f.seek(0)#文件指针一道最前面
result = f.read()#读出所有内容,此时文件指针在最前面
new_result = '龙龙\n'+result#把'龙龙'拼接在文件最前面,此时字符串名为new_result
f.seek(0)#文件指针挪到最前面,才能清空文件所有内容
f.truncate()
f.write(new_result)#读在开头写入'龙龙'后的文件,new_result结果
f.close()
#文件指针:

#a
# f=open('a3.txt','r+',encoding='utf-8')
#三种模式 w r a
# w:不可读,可写,如果写的文件不存在,会新建一个文件
#r只能读,不能写
#a不能读,能写,如果写不存在的文件会新建一个文件
# a+
# w+
# r+:可读,不可写
# result = f.read()# 读所有东西,返回字符串
# result = f.readlines()#读所有东西,返回列表
# result = f.readline()#只读一行
# print(result)
# name = ['sd','ew']
# f.write(name)
# f.writelines(name)#只能写字符串
# new_name = '\n'.join(name)
# f.write(new_name)
# f.close()

# with open('user.txt','r',encoding='utf-8') as f:
#     for line in f:
#         line = line.strip()
#         if line:
#             print(line)
import os
with open('word.txt')as fr,open('new_word.txt','w')as fw:
    for line in fr:
        line = line.strip()
        if line:
            line = line.upper()
            fw.write(line+'\n')
os.remove('word.txt')
os.rename('new_word.txt','word.txt')